<?php

declare(strict_types=1);

namespace Shenlink\Holiya\Console\Command\Repository;

/**
 * 仓库接口
 *
 * 定义所有代码仓库必须实现的方法
 */
interface IRepository
{
    /**
     * 推送代码到远程仓库
     *
     * @param array $options 推送选项
     * @return bool 推送是否成功
     */
    public function push(array $options = []): bool;

    /**
     * 获取仓库平台名称
     *
     * @return string 平台名称
     */
    public function getName(): string;

    /**
     * 获取仓库平台描述
     *
     * @return string 平台描述
     */
    public function getDescription(): string;
}